package com.xinke.query.common.result;

import lombok.Getter;

/**
 * 统一返回结果状态信息类
 */
@Getter
public enum ResultCodeEnum {

    /**
     * 成功
     */
    SUCCESS(200, "成功"),
    /**
     * 失败
     */
    FAIL(201, "失败"),

    /**
     * 接口参数校验失败
     */
    PARAM_VALIDATION_FAILED(703, "接口参数校验失败"),

    /**
     * 查询参数解析失败
     */
    QUERY_PARAM_PARSE_FAILED(704, "查询参数解析失败"),

    /**
     * 申请查询入库失败
     */
    APPLY_QUERY_STORAGE_FAILED(705, "申请查询入库失败"),

    /**
     * 申请查询类型不存在
     */
    QUERY_TYPE_NOT_EXIST(706, "申请查询类型不存在"),

    /**
     * 重复查询申请
     */
    DUPLICATE_QUERY_APPLY(707, "重复查询申请"),

    /**
     * 申请查询查询失败
     */
    APPLY_QUERY_QUERY_FAILED(708, "申请查询查询失败"),


    // 申请查询不存在
    APPLICATION_QUERY_NOT_EXIST(710, "申请查询不存在"),

    // 数据暂未准备，请稍后重试
    DATA_NOT_READY_PLEASE_RETRY_LATER(711, "数据暂未准备，请稍后重试"),

    // 身份验证未匹配
    IDENTITY_VERIFICATION_NOT_MATCH(712, "身份验证未匹配"),

    // 数据查询结果为空
    DATA_QUERY_RESULT_EMPTY(713, "数据查询结果为空"),

    // 数据下载失败
    DATA_DOWNLOAD_FAILED(714, "数据下载失败"),

    // 数据已有下载中，请勿重复请求
    DATA_ALREADY_DOWNLOADING_DO_NOT_REPEAT_REQUEST(715, "数据已有下载中，请勿重复请求");


    private final Integer code;

    private final String message;

    ResultCodeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}
